<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>003-字符串的新增方法</title>
</head>
<body>

</body>
<script type="text/javascript">
    console.log('======================= String.raw =======================');

    /**
     * 该方法返回一个斜杠都被转义（即斜杠前面再加一个斜杠）的字符串，
     * 往往用于模板字符串的处理方法。
     */

    // "标签模板" 的使用方式
    console.log("String.raw`Hi\\n${2 + 3}!`:", String.raw`Hi\n${2 + 3}!`);
    console.log("`Hi\\n${2 + 3}!`:", `Hi\n${2 + 3}!`);

    // String.raw()本质上是一个正常的函数，只是专用于模板字符串的标签函数。
    // 如果写成正常函数的形式，它的第一个参数，应该是一个具有raw属性的对象，且raw属性的值应该是一个数组，对应模板字符串解析后的值。

    const s1 = String.raw`Hi\n${2 + 3}!`;

    function func1(arr, ...v) {
        console.log("arr:", arr);
        console.log("v:", v);
    }


</script>
</html>